package com.kobe.game_40;

/**
 * 
 * In England the currency is made up of pound, £, and pence, p, and there are
 * eight coins in general circulation:
 * 
 * 1p, 2p, 5p, 10p, 20p, 50p, £1 (100p) and £2 (200p).
 * 
 * It is possible to make £2 in the following way:
 * 
 * 1× £1 + 1× 50p + 2× 20p + 1× 5p + 1× 2p + 3× 1p
 * 
 * How many different ways can £2 be made using any number of coins?
 * 
 */
public class Game31 {
    static int ways = 0;
    static final int[] currency = { 1, 2, 5, 10, 20, 50, 100, 200 };

    private static void getWays(int index, int remain) {
        if (remain == 0 || currency[index] == 1) {
            ways++;
            return;
        }
        for (int i = 0; i <= remain / currency[index]; i++) {
            getWays(index - 1, remain - currency[index] * i);
        }
    }

    public static void main(String[] args) {
        getWays(7, 200);
        System.out.println(ways);
    }
}
